package com.neusoft.databus.common.bean;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

import com.neusoft.databus.common.enums.MetricValueType;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 指标配置信息Bean
 *
 * @author sunchf
 * @date 2019年1月7日 上午10:54:26
 */
@Getter
@Setter
@ToString
public class MetricBean implements Serializable {
    private static final long serialVersionUID = 1L;
    // 指标名称
    private String name;
    // 指标编码
    private String code;
    // 指标变量名
    private String variable;
    // 指标值数据类型
    private MetricValueType valueType;
    // 指标值解析规则
    private Map<String, Object> rule;
    // 指令
    private String command;
    // 指标单位
    private String unit;

    /************** 采集结果 **************/
    // 采集原始值
    private Object originalValue;
    // 指标值
    private Object value;
    // 记录指标的时间戳
    private Date collectedTime;

    public boolean isExecutedSuccess() {
        return null != this.originalValue;
    }

    public boolean isParseSuccess() {
        return null != this.value;
    }
}
